﻿using System.Collections.ObjectModel;

namespace HeritageAcademy.Models.DataModels
{
	/// <remarks/>
	[System.SerializableAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute(@"code")]
	[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public partial class Tests {

        private ObservableCollection<Test> itemsField;
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("Test", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public ObservableCollection<Test> Test
        {
			get {
				return this.itemsField;
			}
			set {
				this.itemsField = value;
			}
		}
	}

	/// <remarks/>
	[System.SerializableAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute(@"code")]
	[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
	public partial class Test {
		private string titleField; 
        private string bannerField;
		private string pageNumberField;
		private string maxLevelField;
		private ObservableCollection<Page> pageField;
		private string idField;
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string Title {
			get {
				return this.titleField;
			}
			set {
				this.titleField = value;
			}
		}

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public string Banner {
            get
            {
                return this.bannerField;
            }
            set
            {
                this.bannerField = value;
            }
        }
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string PageNumber {
			get {
				return this.pageNumberField;
			}
			set {
				this.pageNumberField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string MaxLevel {
			get {
				return this.maxLevelField;
			}
			set {
				this.maxLevelField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute("Page", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public ObservableCollection<Page> Page {
			get {
				return this.pageField;
			}
			set {
				this.pageField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string Id {
			get {
				return this.idField;
			}
			set {
				this.idField = value;
			}
		}
	}

	/// <remarks/>
	[System.SerializableAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute(@"code")]
	[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
	public partial class Page 
    {
		private string questionField;
		private string mediaField;
		private ObservableCollection<Answer> answersField;
		private string idField;
		private string typeField;
		private string levelField;
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string Question {
			get {
				return this.questionField;
			}
			set {
				this.questionField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string Media {
			get {
				return this.mediaField;
			}
			set {
				this.mediaField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		[System.Xml.Serialization.XmlArrayItemAttribute("Answer", typeof(Answer), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public ObservableCollection<Answer> Answers {
			get {
				return this.answersField;
			}
			set {
				this.answersField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string Id {
			get {
				return this.idField;
			}
			set {
				this.idField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string Type {
			get {
				return this.typeField;
			}
			set {
				this.typeField = value;
			}
		}
		
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string Level {
			get {
				return this.levelField;
			}
			set {
				this.levelField = value;
			}
		}
	}

	/// <remarks/>
	[System.SerializableAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute(@"code")]
	[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
	public partial class Answer 
    {
		private string idField;
        private string statusField;
		private string valueField;
		
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string id 
        {
			get { return this.idField; }
			set { this.idField = value; }
		}

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string Status
        {
            get { return this.statusField; }
            set { this.statusField = value; }
        }
		
		/// <remarks/>
		[System.Xml.Serialization.XmlTextAttribute()]
		public string Value 
        {
			get { return this.valueField; }
			set { this.valueField = value; }
		}
	}
}